home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / libblas / gbmv.z / gbmv
Encoding:
Text File  |  2002-10-03  |  7.1 KB  |  177 lines

  1. GBMV(3F)                                              Last changed: 11-2-98
  2.  
  3.  
  4. NNAAMMEE
  5.      SSGGBBMMVV, DDGGBBMMVV, CCGGBBMMVV, ZZGGMMBBVV - Multiplies a real or complex vector by a
  6.      real or complex general band matrix
  7.  
  8. SSYYNNOOPPSSIISS
  9.      Real
  10.         CCAALLLL SSGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
  11.         _i_n_c_y))
  12.  
  13.      Double precision
  14.  
  15.         CCAALLLL DDGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
  16.         _i_n_c_y))
  17.  
  18.      Complex
  19.  
  20.         CCAALLLL CCGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
  21.         _i_n_c_y))
  22.  
  23.      Double complex
  24.  
  25.         CCAALLLL ZZGGBBMMVV ((_t_r_a_n_s,, _m,, _n,, _k_l,, _k_u,, _a_l_p_h_a,, _a,, _l_d_a,, _x,, _i_n_c_x,, _b_e_t_a,, _y,,
  26.         _i_n_c_y))
  27.  
  28. IIMMPPLLEEMMEENNTTAATTIIOONN
  29.      IRIX systems
  30.  
  31. DDEESSCCRRIIPPTTIIOONN
  32.      SSGGBBMMVV and DDGGBBMMVV multiply a real vector by a real general band matrix.
  33.  
  34.      CCGGBBMMVV and ZZGGBBMMVV multiply a complex vector by a complex general band
  35.      matrix.
  36.  
  37.      These routines perform one of the following matrix-vector operations:
  38.  
  39.           _y <-  _a_l_p_h_a _A_x + _b_e_t_a _y
  40.  
  41.                        _T
  42.           _y <-  _a_l_p_h_a _A _x + _b_e_t_a _y
  43.  
  44.                        _H
  45.           _y <-  _a_l_p_h_a _A _x + _b_e_t_a _y
  46.  
  47.      where
  48.  
  49.      * where _a_l_p_h_a and _b_e_t_a are scalars,
  50.  
  51.      * _x and _y are vectors
  52.  
  53.      * _A is an _m-by-_n band matrix with _k_l subdiagonals and _k_u
  54.        superdiagonals
  55.         _T
  56.      * _A  is the transpose of _A
  57.         _H
  58.      * _A  is the conjugate transpose of _A
  59.  
  60.      These routines have the following arguments:
  61.  
  62.      _t_r_a_n_s     Character*1.  (input)
  63.                Specifies the operation to be performed:
  64.  
  65.  
  66.  
  67.                _t_r_a_n_s = 'N' or 'n':  _y <- _a_l_p_h_a _A_x + _b_e_t_a _y
  68.  
  69.                                                   _T
  70.                _t_r_a_n_s = 'T' or 't':  _y  <-  _a_l_p_h_a _A _x + _b_e_t_a _y
  71.  
  72.                                                 _T
  73.                _t_r_a_n_s = 'C' or 'c':  _y <- _a_l_p_h_a _A _x + _b_e_t_a _y (SSGGBBMMVV, DDGGBBMMVV),
  74.                or
  75.                              _H
  76.                _y  <-  _a_l_p_h_a _A _x + _b_e_t_a _y (CCGGBBMMVV, ZZGGBBMMVV)
  77.  
  78.      _m         Integer.  (input)
  79.                Specifies the number of rows in matrix _A.  _m >= 0.
  80.  
  81.      _n         Integer.  (input)
  82.                Specifies the number of columns in the matrix _A.  _n >= 0.
  83.  
  84.      _k_l        Integer.  (input)
  85.                Specifies the number of subdiagonals of matrix _A.  _k_l >= 0.
  86.  
  87.      _k_u        Integer.  (input)
  88.                Specifies the number of superdiagonals of matrix _A.  _k_u >=
  89.                0.
  90.  
  91.      _a_l_p_h_a     Scalar alpha.  (input)
  92.                SSGGBBMMVV: Real.
  93.                DDGGBBMMVV: Double precision.
  94.                CCGGBBMMVV: Complex.
  95.                ZZGGBBMMVV: Double complex.
  96.  
  97.      _a         Array of dimension (_l_d_a,_n).  (input)
  98.                SSGGBBMMVV: Real array.
  99.                DDGGBBMMVV: Double precision array.
  100.                CCGGBBMMVV: Complex array.
  101.                ZZGGBBMMVV: Double complex array.
  102.  
  103.                Before entry, the leading (_k_l+_k_u+1)-by-_n part of array _a
  104.                must contain the matrix of coefficients, supplied
  105.                column-by-column, with the leading diagonal of the matrix in
  106.                row (_k_u+1) of the array, the first superdiagonal starting at
  107.                position 2 in row _k_u, the first subdiagonal starting at
  108.                position 1 in row (_k_u+2), and so on.  Elements in array _a
  109.                that do not correspond to elements in the band matrix (such
  110.                as the top left _k_u-by-_k_u triangle) are not referenced.
  111.  
  112.                See the NOTES section for an example of Fortran code that
  113.                transfers a band matrix from conventional full matrix
  114.                storage to band storage.
  115.  
  116.      _l_d_a       Integer.  (input)
  117.                Specifies the first dimension of _a as declared in the
  118.                calling program.  _l_d_a >= (_k_l+_k_u+1).
  119.  
  120.      _x         Array of dimension 1+(_n-1) * |_i_n_c_x| when _t_r_a_n_s = * |_i_n_c_x|
  121.                otherwise.  (input)
  122.                SSGGBBMMVV: Real array.
  123.                DDGGBBMMVV: Double precision array.
  124.                CCGGBBMMVV: Complex array.
  125.                ZZGGBBMMVV: Double complex array.
  126.                Contains the vector _x.  When _t_r_a_n_s = 'N' or 'n', _k_x is _n;
  127.                otherwise, it is _m.
  128.  
  129.      _i_n_c_x      Integer.  (input)
  130.                Specifies the increment for the elements of _x.  _i_n_c_x must
  131.                not be 0.
  132.  
  133.      _b_e_t_a      Scalar beta.  (input)
  134.                SSGGBBMMVV: Real.
  135.                DDGGBBMMVV: Double precision.
  136.                CCGGBBMMVV: Complex.
  137.                ZZGGBBMMVV: Double complex.
  138.                When _b_e_t_a is supplied as 0, _y need not be set on input.
  139.  
  140.      _y         Array of dimension 1+(_m-1) * |_i_n_c_y| when _t_r_a_n_s = *
  141.                otherwise.  (input and output)
  142.                SSGGBBMMVV: Real array.
  143.                DDGGBBMMVV: Double precision array.
  144.                CCGGBBMMVV: Complex array.
  145.                ZZGGBBMMVV: Double complex array.
  146.                Contains the vector _y.  When _t_r_a_n_s = 'N' or 'n', _k_y is _m;
  147.                otherwise, it is _n.  On exit, the updated vector overwrites
  148.                array _y.
  149.  
  150.      _i_n_c_y      Integer.  (input)
  151.                Specifies the increment for the elements of _y.
  152.                _i_n_c_y must not be 0.
  153.  
  154. NNOOTTEESS
  155.      The following program segment transfers a band matrix from
  156.      conventional full matrix storage to band storage:
  157.  
  158.               DO 20, J = 1, N
  159.                  K = KU + 1 - J
  160.                  DO 10, I = MAX(1, J - KU), MIN(M, J + KL)
  161.                     A(K + I, J) = MATRIX(I, J)
  162.           10    CONTINUE
  163.           20 CONTINUE
  164.  
  165.      SSGGBBMMVV, DDGGBBMMVV, ZZGGBBMMVV and CCGGBBMMVV are Level 2 Basic Linear Algebra
  166.      Subprograms (Level 2 BLAS).
  167.  
  168.      When working backward (_i_n_c_x < 0 or _i_n_c_y < 0), each routine starts at
  169.      the end of the vector and moves backward, as follows:
  170.  
  171.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)) , ..., _x(1)
  172.  
  173.           _y(1-_i_n_c_y * (_n-1)), _y(1-_i_n_c_y * (_n-2)) , ..., _y(1)
  174.  
  175. SSEEEE AALLSSOO
  176.      This man page is available only online.
  177.